Arrangements described herein relate to version control systems and methods.
Generally, version control relates to the management of multiple versions of a document, such as a computer file having a computer program source code. In the field of software development, authorized developers can access a file from a repository hosted or managed by a server computer and make revisions to the file. Version control systems are used to manage the developer's access to the files. Version control systems can allow developers to back up their changes and sync such changes across multiple developers on a project.
In some instances, a developer may not wish to have its changes to a certain file delivered to the repository, but the developer may still need to accept changes to the file made by other developers. There are various ways in which a developer can do so. For example, current version control systems allow software developers to designate a file as “ignore.” In such case, the file is treated as being outside of the version control system. Changes to the file made by the developer are not delivered to the repository, and changes to the file made by other developers cannot be accepted. As another example, a file can be designated as “read only”, that is, the file can only be modified by certain individuals with write permission. In still a further example, a developer may not apply any designation to a file, but it must be careful to ensure that changes to a file are not inadvertently delivered to the repository.